package cn.topevery.garden.entity.po.event;

import cn.topevery.garden.framework.base.BaseEntity;
import com.alibaba.fastjson.annotation.JSONField;
import hw.topevery.framework.annotation.DbTable;
import hw.topevery.framework.annotation.DbTableField;
import hw.topevery.framework.enums.DbTypeEnum;
import lombok.Data;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

/**
 * 案件表
 *
 * @author code-generate
 * @date 2022-08-23
 */
@Data
@Accessors(chain = true)
@DbTable(tableName = "t_event_info")
public class EventInfo extends BaseEntity {
        /**
     * 案件ID
     */
    @DbTableField(columnName = "c_evt_id", dbType = DbTypeEnum.VARCHAR)
    public String evtId ;

    /**
     * 案件号
     */
    @DbTableField(columnName = "c_code", dbType = DbTypeEnum.VARCHAR)
    public String code ;

    /**
     * 环节实例ID
     */
    @DbTableField(columnName = "c_wf_inst_id", dbType = DbTypeEnum.VARCHAR)
    public String wfInstId ;

    /**
     * 案件来源ID
     */
    @DbTableField(columnName = "c_source_id", dbType = DbTypeEnum.VARCHAR)
    public String sourceId ;

    /**
     * 所属区ID
     */
    @DbTableField(columnName = "c_district_id", dbType = DbTypeEnum.VARCHAR)
    public String districtId ;

    /**
     * 所属街道ID
     */
    @DbTableField(columnName = "c_street_id", dbType = DbTypeEnum.VARCHAR)
    public String streetId ;

    /**
     * 所属社区ID
     */
    @DbTableField(columnName = "c_community_id", dbType = DbTypeEnum.VARCHAR)
    public String communityId ;

    /**
     * 所属标段ID
     */
    @DbTableField(columnName = "c_section_id", dbType = DbTypeEnum.INTEGER)
    public Integer sectionId ;

    /**
     * 所属标段ID
     */
    @DbTableField(columnName = "c_company_id", dbType = DbTypeEnum.INTEGER)
    public Integer companyId ;

    /**
     * 公园Id
     */
    @DbTableField(columnName = "c_park_id", dbType = DbTypeEnum.INTEGER)
    public Integer parkId ;

    /**
     * 片区Id
     */
    @DbTableField(columnName = "c_extent_id", dbType = DbTypeEnum.INTEGER)
    public Integer extentId ;

    /**
     * 问题类型
     */
    @DbTableField(columnName = "c_type_id", dbType = DbTypeEnum.VARCHAR)
    public String typeId ;

    /**
     * 问题大类
     */
    @DbTableField(columnName = "c_big_class_id", dbType = DbTypeEnum.VARCHAR)
    public String bigClassId ;

    /**
     * 问题小类
     */
    @DbTableField(columnName = "c_small_class_id", dbType = DbTypeEnum.VARCHAR)
    public String smallClassId ;

    /**
     * 是否扣分：0：否，1：是
     */
    @DbTableField(columnName = "c_is_kf", dbType = DbTypeEnum.TINYINT)
    public Byte isKf  = 0 ;

    /**
     * 原始扣分值
     */
    @DbTableField(columnName = "c_kf_value", dbType = DbTypeEnum.FLOAT)
    public Float kfValue  = 0F ;

    /**
     * 实际扣分值
     */
    @DbTableField(columnName = "c_actual_kf_value", dbType = DbTypeEnum.FLOAT)
    public Float actualKfValue  = 0F ;

    /**
     * 责任单位ID(案件最终处理企业ID/责任单位ID)
     */
    @DbTableField(columnName = "c_last_dept_id", dbType = DbTypeEnum.VARCHAR)
    public String lastDeptId ;

    /**
     * 管家人员ID(管家处理环节人员ID)
     */
    @DbTableField(columnName = "c_last_butler_id", dbType = DbTypeEnum.VARCHAR)
    public String lastButlerId ;

    /**
     * 责任单位处理人ID
     */
    @DbTableField(columnName = "c_dept_deal_person_id", dbType = DbTypeEnum.VARCHAR)
    public String deptDealPersonId ;

    /**
     * 经度
     */
    @DbTableField(columnName = "c_geo_x", dbType = DbTypeEnum.DOUBLE)
    public Double geoX ;

    /**
     * 纬度
     */
    @DbTableField(columnName = "c_geo_y", dbType = DbTypeEnum.DOUBLE)
    public Double geoY ;

    /**
     * 墨卡托X
     */
    @DbTableField(columnName = "c_mercator_x", dbType = DbTypeEnum.DOUBLE)
    public Double mercatorX ;

    /**
     * 墨卡托Y
     */
    @DbTableField(columnName = "c_mercator_y", dbType = DbTypeEnum.DOUBLE)
    public Double mercatorY ;

    /**
     * 百度坐标X
     */
    @DbTableField(columnName = "c_lng_bd09", dbType = DbTypeEnum.DOUBLE)
    public Double lngBd09 ;

    /**
     * 百度坐标Y
     */
    @DbTableField(columnName = "c_lat_bd09", dbType = DbTypeEnum.DOUBLE)
    public Double latBd09 ;

    /**
     * 大地2000 X
     */
    @DbTableField(columnName = "c_lng_2000", dbType = DbTypeEnum.DOUBLE)
    public Double lng2000 ;

    /**
     * 大地2000 Y 
     */
    @DbTableField(columnName = "c_lat_2000", dbType = DbTypeEnum.DOUBLE)
    public Double lat2000 ;

    /**
     * 火星坐标 X 
     */
    @DbTableField(columnName = "c_lng_gcj02", dbType = DbTypeEnum.DOUBLE)
    public Double lngGcj02 ;

    /**
     * 火星坐标 Y 
     */
    @DbTableField(columnName = "c_lat_gcj02", dbType = DbTypeEnum.DOUBLE)
    public Double latGcj02 ;

    /**
     * 案件地址
     */
    @DbTableField(columnName = "c_address", dbType = DbTypeEnum.VARCHAR)
    public String address ;

    /**
     * 案件状态：0:刚启动的流程 1:正在办理的案件   2:已经办结的案件   -1:已经作废的案件
     */
    @DbTableField(columnName = "c_status", dbType = DbTypeEnum.INTEGER)
    public Integer status  = 0 ;

    /**
     * 应完成时间
     */
    @DbTableField(columnName = "c_should_finished_time", dbType = DbTypeEnum.TIMESTAMP)
    @JSONField(format="yyyy-MM-dd HH:mm:ss")
    public LocalDateTime shouldFinishedTime ;

    /**
     * 案件完结时间
     */
    @DbTableField(columnName = "c_finished_time", dbType = DbTypeEnum.TIMESTAMP)
    @JSONField(format="yyyy-MM-dd HH:mm:ss")
    public LocalDateTime finishedTime ;

    /**
     * 是否超时：0：否，1：是
     */
    @DbTableField(columnName = "c_is_timeout", dbType = DbTypeEnum.TINYINT)
    public Byte isTimeout  = 0 ;

    /**
     * 图片ID
     */
    @DbTableField(columnName = "c_photo_id", dbType = DbTypeEnum.VARCHAR)
    public String photoId ;

    /**
     * 备注
     */
    @DbTableField(columnName = "c_remark", dbType = DbTypeEnum.VARCHAR)
    public String remark ;

    /**
     * 上报时间
     */
    @DbTableField(columnName = "c_report_date", dbType = DbTypeEnum.TIMESTAMP)
    @JSONField(format="yyyy-MM-dd HH:mm:ss")
    public LocalDateTime reportDate ;

    /**
     * 上报人ID
     */
    @DbTableField(columnName = "c_report_id", dbType = DbTypeEnum.VARCHAR)
    public String reportId ;

    /**
     * 上报人
     */
    @DbTableField(columnName = "c_report_name", dbType = DbTypeEnum.VARCHAR)
    public String reportName ;

    /**
     * 上报人部门ID
     */
    @DbTableField(columnName = "c_report_dept_id", dbType = DbTypeEnum.VARCHAR)
    public String reportDeptId ;

    /**
     * 上报人组ID
     */
    @DbTableField(columnName = "c_report_group_id", dbType = DbTypeEnum.VARCHAR)
    public String reportGroupId ;

    /**
     * 当前环节ID
     */
    @DbTableField(columnName = "c_cur_act_id", dbType = DbTypeEnum.VARCHAR)
    public String curActId ;

    /**
     * 当前环节名称
     */
    @DbTableField(columnName = "c_cur_act_name", dbType = DbTypeEnum.VARCHAR)
    public String curActName ;

    /**
     * 当前环节时间
     */
    @DbTableField(columnName = "c_cur_act_time", dbType = DbTypeEnum.TIMESTAMP)
    @JSONField(format="yyyy-MM-dd HH:mm:ss")
    public LocalDateTime curActTime ;

    /**
     * 审核结果：0：未审核，1：通过， 2：不通过
     */
    @DbTableField(columnName = "c_audit_result", dbType = DbTypeEnum.TINYINT)
    public Byte auditResult ;

    /**
     * 审核日期
     */
    @DbTableField(columnName = "c_audit_date", dbType = DbTypeEnum.TIMESTAMP)
    @JSONField(format="yyyy-MM-dd HH:mm:ss")
    public LocalDateTime auditDate ;

    /**
     * 审核意见
     */
    @DbTableField(columnName = "c_audit_options", dbType = DbTypeEnum.VARCHAR)
    public String auditOptions ;

}
